27 research outputs found

    A Case Study in Refactoring Functional Programs

    Get PDF
    Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of program manipulations involved in refactoring. Similarly to other program transformations, refactorings are based on program equivalences, and thus ultimately on language semantics. In the context of functional languages, refactorings can be based on existing theory and program analyses. However, the use of program transformations for program restructuring emphasises a different kind of transformation from the more traditional derivation or optimisation: characteristically, they often require wholesale changes to a collection of modules, and although they are best controlled by programmers, their application may require nontrivial semantic analyses. The paper also explores the background to refactoring, provides a taxonomy for describing refactorings and draws some conclusions about refactoring for functional programs

    Refactoring Functional Programs

    Get PDF
    Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of program manipulations involved in refactoring. Similarly to other program transformations, refactorings are based on program equivalences, and thus ultimately on language semantics. In the context of functional languages, refactorings can be based on existing theory and program analyses. However, the use of program transformations for program restructuring emphasises a different kind of transformation from the more traditional derivation or optimisation: characteristically, they often require wholesale changes to a collection of modules, and although they are best controlled by programmers, their application may require nontrivial semantic analyses. The paper also explores the background to refactoring, provides a taxonomy for describing refactorings and draws some conclusions about refactoring for functional programs

    Changes to the gut microbiome in young children showing early behavioral signs of autism

    Get PDF
    The human gut microbiome has increasingly been associated with autism spectrum disorder (ASD), which is a neurological developmental disorder, characterized by impairments to social interaction. The ability of the gut microbiota to signal across the gut-brain-microbiota axis with metabolites, including short-chain fatty acids, impacts brain health and has been identified to play a role in the gastrointestinal and developmental symptoms affecting autistic children. The fecal microbiome of older children with ASD has repeatedly shown particular shifts in the bacterial and fungal microbial community, which are significantly different from age-matched neurotypical controls, but it is still unclear whether these characteristic shifts are detectable before diagnosis. Early microbial colonization patterns can have long-lasting effects on human health, and pre-emptive intervention may be an important mediator to more severe autism. In this study, we characterized both the microbiome and short-chain fatty acid concentrations of fecal samples from young children between 21 and 40 months who were showing early behavioral signs of ASD. The fungal richness and acetic acid concentrations were observed to be higher with increasing autism severity, and the abundance of several bacterial taxa also changed due to the severity of ASD. Bacterial diversity and SCFA concentrations were also associated with stool form, and some bacterial families were found with differential abundance according to stool firmness. An exploratory analysis of the microbiome associated with pre-emptive treatment also showed significant differences at multiple taxonomic levels. These differences may impact the microbial signaling across the gut-brain-microbiota axis and the neurological development of the children

    Fecal sample collection methods and time of day impact microbiome composition and short chain fatty acid concentrations

    Get PDF
    Associations between the human gut microbiome and health outcomes continues to be of great interest, although fecal sample collection methods which impact microbiome studies are sometimes neglected. Here, we expand on previous work in sample optimization, to promote high quality microbiome data. To compare fecal sample collection methods, amplicons from the bacterial 16S rRNA gene (V4) and fungal (ITS2) region, as well as short chain fatty acid (SCFA) concentrations were determined in fecal material over three timepoints. We demonstrated that spot sampling of stool results in variable detection of some microbial members, and inconsistent levels of SCFA; therefore, sample homogenization prior to subsequent analysis or subsampling is recommended. We also identify a trend in microbial and metabolite composition that shifts over two consecutive stool collections less than 25 h apart. Lastly, we show significant differences in bacterial composition that result from collecting stool samples in OMNIgene·Gut tube (DNA Genotec) or Stool Nucleic Acid Collection and Preservation Tube (NORGEN) compared to immediate freezing. To assist with planning fecal sample collection and storage procedures for microbiome investigations with multiple analyses, we recommend participants to collect the first full bowel movement of the day and freeze the sample immediately after collection

    Changes to the Gut Microbiome in Young Children Showing Early Behavioral Signs of Autism

    Get PDF
    The human gut microbiome has increasingly been associated with autism spectrum disorder (ASD), which is a neurological developmental disorder, characterized by impairments to social interaction. The ability of the gut microbiota to signal across the gut-brain-microbiota axis with metabolites, including short-chain fatty acids, impacts brain health and has been identified to play a role in the gastrointestinal and developmental symptoms affecting autistic children. The fecal microbiome of older children with ASD has repeatedly shown particular shifts in the bacterial and fungal microbial community, which are significantly different from age-matched neurotypical controls, but it is still unclear whether these characteristic shifts are detectable before diagnosis. Early microbial colonization patterns can have long-lasting effects on human health, and pre-emptive intervention may be an important mediator to more severe autism. In this study, we characterized both the microbiome and short-chain fatty acid concentrations of fecal samples from young children between 21 and 40 months who were showing early behavioral signs of ASD. The fungal richness and acetic acid concentrations were observed to be higher with increasing autism severity, and the abundance of several bacterial taxa also changed due to the severity of ASD. Bacterial diversity and SCFA concentrations were also associated with stool form, and some bacterial families were found with differential abundance according to stool firmness. An exploratory analysis of the microbiome associated with pre-emptive treatment also showed significant differences at multiple taxonomic levels. These differences may impact the microbial signaling across the gut-brain-microbiota axis and the neurological development of the children

    Effects of cold winters and roost site stability on population development of non-native Asian ring-necked parakeets (Alexandrinus manillensis) in temperate Central Europe – Results of a 16-year census

    Get PDF
    Asian ring-necked parakeets (Alexandrinus manillensis, formerly Psittacula krameri, hereafter RNP) first bred in Germany in 1969. Since then, RNP numbers increased in all three major German subpopulations (Rhineland, Rhine-Main, Rhine-Neckar) over the period 2003–2018. In the Rhine-Neckar region, the population increased to more than fivefold within only 15 years. Interestingly, there was no significant breeding range expansion of  RNP in the period 2010–2018. In 2018, the total number of RNP in Germany amounted to >16,200 birds. Differences in RNP censuses between years were evident. Surprisingly, cold winters (extreme value, −13.7 °C) and cold weather conditions in the breeding season (coldest month average, −1.36 °C) were not able to explain between-year variation. This finding suggests that in general winter mortality is low – with exceptions for winters 2008/2009 and 2009/2010, and a population-relevant loss of broods is low in our study population. Surprisingly, the social behaviour in terms of spatio-temporal stability of roost sites could well explain positive and negative population trends. Years of spatially stable and regularly used roost sites seem to correlate with increasing population sizes. In contrast, known shifts of RNP among different roost sites or the formations of new roost sites by split are related to population stagnation or a decrease in numbers. Climate change may lead to further range expansion as cities not suitable yet for RNP may become so in the near future.

    GHood -- Graphical Visualisation and Animation of Haskell Object Observations

    Get PDF
    As a possible extension to his http://www.haskell.org/hood/ Hood http://www.cse.ogi.edu/~andy/pub/debug.htm, Andy Gill has described the ``dynamic viewing of structures'', stepping through observations instead of accumulating them into a static view. Starting from this idea, we have implemented and released an animation back-end for Hood, called http://www.cs.ukc.ac.uk/people/staff/cr3/toolbox/haskell/GHood. Instead of the dynamic textual visualisation based on pretty-printing proposed in http://www.cse.ogi.edu/~andy/pub/debug.htm, our back-end features a dynamic graphical visualisation, based on a simple tree layout algorithm. This paper reviews the main aspects of Hood, gives a brief introduction to GHood's features and summarises our experience so far. The visualisation of program behaviour via animations of data structure observations has uses for program comprehension and exposition, in development, debugging and education. We find that the graphical structure facilitates orientation even when textual labels are no longer readable due to scaling, suggesting advantages over a purely textual visualisation. A novel application area is opened by the use of GHood as an applet on webpages -- discussions of Haskell program behaviour, e.g., in educational online material or in explanations of functional algorithms, can now easily be augmented with graphical animations of the issues being discussed

    A Case Study in Refactoring Functional Programs

    Get PDF
    Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of program manipulations involved in refactoring. Similarly to other program transformations, refactorings are based on program equivalences, and thus ultimately on language semantics. In the context of functional languages, refactorings can be based on existing theory and program analyses. However, the use of program transformations for program restructuring emphasises a different kind of transformation from the more traditional derivation or optimisation: characteristically, they often require wholesale changes to a collection of modules, and although they are best controlled by programmers, their application may require nontrivial semantic analyses. The paper also explores the background to refactoring, provides a taxonomy for describing refactorings and draws some conclusions about refactoring for functional programs

    The Haskell Refactorer, HaRe, and its API

    Get PDF
    We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a complete (functional) programming language, and to show the API which HaRe provides for building source-level program transformations for Haskell. We comment on the challenges presented by the construction of this and similar tools for language frameworks and processors

    CHRISTIAN-ALBRECHTS-UNIVERSITÄT

    No full text
    completing a-calculus-based purely functional language with respect to programming-in-the-large and interactions with runtime environment
    corecore